ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb2[16], immediateIndexed
dcl_sampler s5, mode_default
dcl_sampler s7, mode_default
dcl_resource_texture2d (float,float,float,float) t5
dcl_resource_texture2d (float,float,float,float) t7
dcl_input_ps linear v1.xyzw
dcl_input_ps linear v2.xyz
dcl_input_ps linear v3.xyzw
dcl_output o0.xyzw
dcl_temps 5
sample_l_indexable(texture2d)(float,float,float,float) r0.x, l(5.000000e-001, 5.000000e-001, 0.000000e+000, 0.000000e+000), t7.xyzw, s7, l(0.000000e+000)
eq r0.x, r0.x, l(0.000000e+000)
discard_nz r0.x
eq r0.xy, l(0.000000e+000, 0.000000e+000, 0.000000e+000, 0.000000e+000), cb2[15].xyxx
and r0.x, r0.y, r0.x
div r0.y, cb2[15].x, cb2[15].y
movc r0.x, r0.x, l(1.777778), r0.y
mul r1.x, r0.x, v2.x
mad r0.y, -v2.x, r0.x, v3.x
add r0.z, -v2.y, v3.y
mul r0.z, r0.z, r0.z
mad r0.y, r0.y, r0.y, r0.z
sqrt r0.y, r0.y
lt r0.y, r0.y, l(7.000000e-001)
if_nz r0.y
  mul r0.y, l(2.200000e-004), cb2[13].x
  frc r1.z, r0.y
  mov r1.y, v2.y
  dp3 r2.x, l(8.658706e-002, 2.099168e-001, 1.960551e-001, 0.000000e+000), r1.xyzx
  dp3 r2.y, l(2.099248e-002, 1.995971e-001, -2.229805e-001, 0.000000e+000), r1.xyzx
  dp3 r2.z, l(-2.864647e-001, 7.807637e-002, 4.291951e-002, 0.000000e+000), r1.xyzx
  mad r0.y, v2.x, r0.x, -v3.x
  add r0.z, v2.y, -v3.y
  mul r0.z, r0.z, r0.z
  mad r0.y, r0.y, r0.y, r0.z
  sqrt r0.y, r0.y
  mad r0.y, r0.y, l(8.900000e+001), l(1.000000e+000)
  mul r3.xyz, r2.xyzx, l(5.000000e-001, 5.000000e-001, 5.000000e-001, 0.000000e+000)
  round_ni r3.xyz, r3.xyzx
  mad r2.xyz, -r3.xyzx, l(2.000000e+000, 2.000000e+000, 2.000000e+000, 0.000000e+000), r2.xyzx
  add r2.xyz, -r2.xyzx, l(1.000000e+000, 1.000000e+000, 1.000000e+000, 0.000000e+000)
  add r2.xyz, -|r2.xyzx|, l(1.000000e+000, 1.000000e+000, 1.000000e+000, 0.000000e+000)
  dp3 r0.z, r2.xyzx, r2.xyzx
  sqrt r0.w, r0.z
  div r2.xyz, |r2.xyzx|, r0.zzzz
  add r2.xyz, r2.xyzx, l(-7.823300e-001, -7.823300e-001, -7.823300e-001, 0.000000e+000)
  dp3 r0.z, r2.xyzx, r2.xyzx
  sqrt r1.z, r0.z
  add r0.w, -r0.w, r1.z
  div r2.xyz, |r2.xyzx|, r0.zzzz
  add r2.xyz, r2.xyzx, l(-7.823300e-001, -7.823300e-001, -7.823300e-001, 0.000000e+000)
  dp3 r0.z, r2.xyzx, r2.xyzx
  sqrt r1.w, r0.z
  add r1.z, -r1.z, r1.w
  add r0.w, |r0.w|, |r1.z|
  div r2.xyz, |r2.xyzx|, r0.zzzz
  add r2.xyz, r2.xyzx, l(-7.823300e-001, -7.823300e-001, -7.823300e-001, 0.000000e+000)
  dp3 r0.z, r2.xyzx, r2.xyzx
  sqrt r1.z, r0.z
  add r1.w, -r1.w, r1.z
  add r0.w, r0.w, |r1.w|
  div r2.xyz, |r2.xyzx|, r0.zzzz
  add r2.xyz, r2.xyzx, l(-7.823300e-001, -7.823300e-001, -7.823300e-001, 0.000000e+000)
  dp3 r0.z, r2.xyzx, r2.xyzx
  sqrt r1.w, r0.z
  add r1.z, -r1.z, r1.w
  add r0.w, r0.w, |r1.z|
  div r2.xyz, |r2.xyzx|, r0.zzzz
  add r2.xyz, r2.xyzx, l(-7.823300e-001, -7.823300e-001, -7.823300e-001, 0.000000e+000)
  dp3 r0.z, r2.xyzx, r2.xyzx
  sqrt r1.z, r0.z
  add r1.w, -r1.w, r1.z
  add r0.w, r0.w, |r1.w|
  div r2.xyz, |r2.xyzx|, r0.zzzz
  add r2.xyz, r2.xyzx, l(-7.823300e-001, -7.823300e-001, -7.823300e-001, 0.000000e+000)
  dp3 r0.z, r2.xyzx, r2.xyzx
  sqrt r1.w, r0.z
  add r1.z, -r1.z, r1.w
  add r0.w, r0.w, |r1.z|
  div r2.xyz, |r2.xyzx|, r0.zzzz
  add r2.xyz, r2.xyzx, l(-7.823300e-001, -7.823300e-001, -7.823300e-001, 0.000000e+000)
  dp3 r0.z, r2.xyzx, r2.xyzx
  sqrt r1.z, r0.z
  add r1.w, -r1.w, r1.z
  add r0.w, r0.w, |r1.w|
  div r2.xyz, |r2.xyzx|, r0.zzzz
  add r2.xyz, r2.xyzx, l(-7.823300e-001, -7.823300e-001, -7.823300e-001, 0.000000e+000)
  dp3 r0.z, r2.xyzx, r2.xyzx
  sqrt r1.w, r0.z
  add r1.z, -r1.z, r1.w
  add r0.w, r0.w, |r1.z|
  div r2.xyz, |r2.xyzx|, r0.zzzz
  add r2.xyz, r2.xyzx, l(-7.823300e-001, -7.823300e-001, -7.823300e-001, 0.000000e+000)
  dp3 r0.z, r2.xyzx, r2.xyzx
  sqrt r1.z, r0.z
  add r1.w, -r1.w, r1.z
  add r0.w, r0.w, |r1.w|
  div r2.xyz, |r2.xyzx|, r0.zzzz
  add r2.xyz, r2.xyzx, l(-7.823300e-001, -7.823300e-001, -7.823300e-001, 0.000000e+000)
  dp3 r0.z, r2.xyzx, r2.xyzx
  sqrt r1.w, r0.z
  add r1.z, -r1.z, r1.w
  add r0.w, r0.w, |r1.z|
  div r2.xyz, |r2.xyzx|, r0.zzzz
  add r2.xyz, r2.xyzx, l(-7.823300e-001, -7.823300e-001, -7.823300e-001, 0.000000e+000)
  dp3 r0.z, r2.xyzx, r2.xyzx
  sqrt r1.z, r0.z
  add r1.w, -r1.w, r1.z
  add r0.w, r0.w, |r1.w|
  div r2.xyz, |r2.xyzx|, r0.zzzz
  add r2.xyz, r2.xyzx, l(-7.823300e-001, -7.823300e-001, -7.823300e-001, 0.000000e+000)
  dp3 r0.z, r2.xyzx, r2.xyzx
  sqrt r1.w, r0.z
  add r1.z, -r1.z, r1.w
  add r0.w, r0.w, |r1.z|
  div r2.xyz, |r2.xyzx|, r0.zzzz
  add r2.xyz, r2.xyzx, l(-7.823300e-001, -7.823300e-001, -7.823300e-001, 0.000000e+000)
  dp3 r0.z, r2.xyzx, r2.xyzx
  sqrt r1.z, r0.z
  add r1.w, -r1.w, r1.z
  add r0.w, r0.w, |r1.w|
  div r2.xyz, |r2.xyzx|, r0.zzzz
  add r2.xyz, r2.xyzx, l(-7.823300e-001, -7.823300e-001, -7.823300e-001, 0.000000e+000)
  dp3 r0.z, r2.xyzx, r2.xyzx
  sqrt r0.z, r0.z
  add r0.z, -r1.z, r0.z
  add r0.z, |r0.z|, r0.w
  lt r0.y, r0.y, r0.z
  mul r0.z, r0.z, l(1.250000e-001)
  sincos null, r0.z, r0.z
  add r2.z, -|r0.z|, l(1.000000e+000)
  add r2.xy, -r1.xyxx, v3.xyxx
  dp3 r0.z, r2.xyzx, r2.xyzx
  rsq r0.z, r0.z
  mul r0.zw, r0.zzzz, r2.xxxy
  mul r2.xy, r0.zwzz, l(6.000000e-002, 6.000000e-002, 0.000000e+000, 0.000000e+000)
  movc r1.xyz, r0.yyyy, l(0.760000,0.180000,0.090000,0), l(1.000000,1.000000,1.000000,0)
  and r0.yzw, r0.yyyy, r2.xxyz
else 
  mov r1.xyz, l(1.000000,1.000000,1.000000,0)
  mov r0.yzw, l(0,0,0,0)
endif 
eq r1.w, v3.x, l(0.000000e+000)
div r2.xy, v2.xyxx, v2.zzzz
sample_indexable(texture2d)(float,float,float,float) r2.x, r2.xyxx, t7.xyzw, s7
if_nz r1.w
  mul o0.xyzw, r2.xxxx, v1.xyzw
else 
  mad r2.xy, v3.zwzz, l(2.000000e+000, 2.000000e+000, 0.000000e+000, 0.000000e+000), l(-1.000000e+000, -1.000000e+000, 0.000000e+000, 0.000000e+000)
  mul r3.x, r0.x, r2.x
  mul r0.x, l(2.540000e-004), cb2[13].x
  mad r3.y, r2.y, l(-1.953125e-001), r0.x
  mul r2.xy, r3.xyxx, l(-3.906250e+000, 5.000000e+000, 0.000000e+000, 0.000000e+000)
  round_ni r2.zw, r2.xxxy
  add r0.x, r2.w, l(3.520000e+001)
  mad r0.x, r0.x, l(2.376100e+003), r2.z
  mul r3.xyz, r0.xxxx, l(1.298980e-001, 7.823300e-001, 3.771900e-001, 0.000000e+000)
  frc r3.xyz, r3.xyzx
  add r4.xyz, r3.yzxy, l(1.919000e+001, 1.919000e+001, 1.919000e+001, 0.000000e+000)
  dp3 r0.x, r3.xyzx, r4.xyzx
  add r3.xyz, r0.xxxx, r3.xyzx
  add r2.zw, r3.zzzy, r3.yyyx
  mul r2.zw, r3.xxxz, r2.zzzw
  frc r2.xyzw, r2.xyzw
  add r2.xy, r2.xyxx, l(-5.000000e-001, -5.000000e-001, 0.000000e+000, 0.000000e+000)
  add r0.x, r2.w, l(-5.000000e-001)
  mad r3.x, r0.x, l(6.000000e-001), r2.x
  mul r2.xz, r2.zzwz, l(6.283185e+000, 0.000000e+000, 7.812500e-002, 0.000000e+000)
  mad r0.x, cb2[13].x, l(4.100000e-003), r2.x
  sincos r0.x, null, r0.x
  mad r0.x, r0.x, l(5.000000e-001), l(5.000000e-001)
  frc r0.x, r0.x
  add r0.x, r0.x, l(-5.000000e-001)
  mul r0.x, r0.x, l(-2.000000e+000)
  mad r3.y, r2.y, l(4.000000e+000), r0.x
  dp2 r0.x, r3.xyxx, r3.xyxx
  sqrt r0.x, r0.x
  mad r0.x, -r2.w, l(7.812500e-002), r0.x
  div r1.w, l(1.000000e+000, 1.000000e+000, 1.000000e+000, 1.000000e+000), -r2.z
  mul_sat r0.x, r0.x, r1.w
  mad r1.w, r0.x, l(-2.000000e+000), l(3.000000e+000)
  mul r0.x, r0.x, r0.x
  mul r0.x, r0.x, r1.w
  mul r2.xy, r0.xxxx, r3.xyxx
  mul r2.zw, r2.xxxy, l(0.000000e+000, 0.000000e+000, 8.000000e+000, 8.000000e+000)
  mad r2.xy, r2.xyxx, l(8.000000e+000, 8.000000e+000, 0.000000e+000, 0.000000e+000), v2.xyxx
  add r0.xy, r0.yzyy, r2.xyxx
  sample_l_indexable(texture2d)(float,float,float,float) r0.xyz, r0.xyxx, t5.xyzw, s5, l(0.000000e+000)
  mul r0.xyz, r1.xyzx, r0.xyzx
  dp2 r1.x, r2.zwzz, r2.zwzz
  sqrt r1.x, r1.x
  lt r1.xy, l(1.000000e-004, 0.000000e+000, 0.000000e+000, 0.000000e+000), r1.xxxx
  mul r2.xyz, r0.xyzx, l(7.800000e-001, 1.900000e-001, 9.500000e-002, 0.000000e+000)
  movc r0.xyz, r1.xxxx, r2.xyzx, r0.xyzx
  add r1.xz, v2.xxyx, l(-5.000000e-001, 0.000000e+000, -5.000000e-001, 0.000000e+000)
  dp2 r1.x, r1.xzxx, r1.xzxx
  sqrt r1.x, r1.x
  mad r1.x, r1.x, l(8.000000e-001), l(-1.000000e+000)
  mul_sat r1.xzw, r1.xxxx, l(-2.136752e+000, 0.000000e+000, -1.144165e+000, -1.067236e+000)
  mad r2.xyz, r1.xzwx, l(-2.000000e+000, -2.000000e+000, -2.000000e+000, 0.000000e+000), l(3.000000e+000, 3.000000e+000, 3.000000e+000, 0.000000e+000)
  mul r1.xzw, r1.xxzw, r1.xxzw
  mul r1.xzw, r1.xxzw, r2.xxyz
  mad r1.xzw, r0.xxyz, r1.xxzw, -r0.xxyz
  mad o0.xyz, r1.xzwx, l(3.800000e-001, 3.800000e-001, 3.800000e-001, 0.000000e+000), r0.xyzx
  lt r0.x, l(0.000000e+000), r0.w
  or r0.x, r0.x, r1.y
  and o0.w, r0.x, l(0x3f800000)
endif 
ret